package gui;
import java.awt.*;
import java.util.Calendar;
import java.util.Date;

import javax.swing.*;

import utility.Time;

public abstract class CalendrierUI extends AbstractViewPane {
	
	private Date[] debuts;
	
	public CalendrierUI() {
	}
	
	public void makeGUI() {
		String[] semaines = new String[5];
		debuts = new Date[5];
		
		/* Trouver le debut de la semaine courante */
		Calendar debutSemaine = Time.getDebutSemaineCourante();
		
		for (int i=0; i<5; i++) {
			semaines[i] = debutSemaine.get(Calendar.DATE) + "/" + (debutSemaine.get(Calendar.MONTH) + 1);
			debuts[i] = new Date(debutSemaine.get(Calendar.YEAR),
								debutSemaine.get(Calendar.MONTH),
								debutSemaine.get(Calendar.DATE));
			debutSemaine.add(Calendar.DATE, 7);
		}
		
		this.setLayout(new BorderLayout());
		SemaineUI s = makeSemaine();
		add(s, BorderLayout.CENTER);
		JPanel navigation = new JPanel();
		navigation.setLayout(new BorderLayout());
		navigation.add(new JButton("<"), BorderLayout.LINE_START);
		JComboBox choixSemaine = new JComboBox(semaines);
		choixSemaine.setSelectedIndex(1);
		navigation.add(choixSemaine, BorderLayout.CENTER);
		navigation.add(new JButton(">"), BorderLayout.LINE_END);
		add(navigation, BorderLayout.PAGE_END);
	}

	public Date[] getDebuts() {
		return debuts;
	}
	
	public abstract SemaineUI makeSemaine();
	//new SemaineAnneeEtudeUI(debuts[0], matin, aprem, idAnneeEtude)
	
	@Override
	public boolean hasBeenModified() {
		return false;
	}

	@Override
	public String getTitle() {
		return "Emploi du temps";
	}
}
